load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library")

oncall("fboss_agent_push")

cpp_library(
    name = "fsdb_patch_applier_oper_state_instantiations",
    srcs = [
        "FsdbPatchApplierOperStateInstantiations.cpp",
    ],
    headers = [
        "FsdbPatchApplierOperStateInstantiations.h",
    ],
    exported_deps = [
        "//fboss/fsdb/if:fsdb_model",
        "//fboss/thrift_cow/nodes:nodes",
        "//fboss/thrift_cow/visitors:visitors",
    ],
)

cpp_library(
    name = "fsdb_thrift_struct_oper_instantiations",
    srcs = [
        "FsdbThriftStructAgentDataInstantiations.cpp",
        "FsdbThriftStructOperStateInstantiations.cpp",
    ],
    headers = [
        "FsdbThriftStructOperInstantiations.h",
    ],
    preprocessor_flags = ["-DENABLE_DYNAMIC_APIS"],
    exported_deps = [
        "//fboss/fsdb/if:fsdb_model",
        "//fboss/thrift_cow/nodes:nodes",
    ],
)

cpp_library(
    name = "fsdb_path_visitor_oper_state_instantiations",
    srcs = [
        "FsdbPathVisitorOperStateInstantiations.cpp",
    ],
    headers = [
        "FsdbPathVisitorOperStateInstantiations.h",
    ],
    exported_deps = [
        "//fboss/fsdb/if:fsdb_model",
        "//fboss/thrift_cow/visitors:visitors",
    ],
)

cpp_library(
    name = "fsdb_thrift_struct_std_functions_instantiations",
    srcs = [
        "FsdbThriftStructStdFunctionsInstantiations.cpp",
    ],
    headers = [
        "FsdbThriftStructStdFunctionsInstantiations.h",
    ],
    exported_deps = [
        "//fboss/fsdb/if:fsdb_model",
        "//fboss/thrift_cow/nodes:nodes",
    ],
)

cpp_library(
    name = "fsdb_state_sub_mgr_instantiations",
    srcs = [
        "FsdbStateSubscriptionManagerInstantiations.cpp",
    ],
    headers = [
        "FsdbStateSubscriptionManagerInstantiations.h",
    ],
    exported_deps = [
        "//fboss/fsdb/oper:subscription_manager",
        "//fboss/fsdb/oper/instantiations:fsdb_cow_root",
        "//fboss/thrift_cow/nodes:nodes",
    ],
)
